package workexp.alg.question;

import org.junit.Test;

/**
 * 最长公共前缀
 * 编写一个函数来查找字符串数组中的最长公共前缀。
 * <p>
 * 如果不存在公共前缀，返回空字符串 ""。
 * <p>
 *  
 * <p>
 * 示例 1：
 * <p>
 * 输入：strs = ["flower","flow","flight"]
 * 输出："fl"
 * 示例 2：
 * <p>
 * 输入：strs = ["dog","racecar","car"]
 * 输出：""
 * 解释：输入不存在公共前缀。
 *  
 * <p>
 * 提示：
 * <p>
 * 1 <= strs.length <= 200
 * 0 <= strs[i].length <= 200
 * strs[i] 仅由小写英文字母组成
 * <p>
 * 作者：力扣 (LeetCode)
 * 链接：https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnmav1/
 * 来源：力扣（LeetCode）
 * 著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
 */
public class LongestCommonPrefix {
    public String longestCommonPrefix(String[] strs) {
        StringBuilder sb = new StringBuilder();
        try {
            int index = 0;
            boolean jumpout = false;
            while (!jumpout) {
                char tmp = strs[0].charAt(index);
                for (String str : strs) {
                    if (tmp != str.charAt(index)) {
                        jumpout = true;
                    }
                    ;
                }
                if (!jumpout) {
                    sb.append(tmp);
                    index++;
                }
            }
        }catch (Exception e){

        }

        return sb.toString();
    }

    @Test
    public void test() {
//        String [] strs = {"flower","flzzz"};
        String[] strs = {""};
        String res = longestCommonPrefix(strs);
        System.out.println(res);
    }
}
